#include <sse_vector_4f32.h>
详细描述
The class and the default constructor are always defined. The functions of this class are only defined when C4D_HAS_SSE2_CAPABILITY is set. Instances of this class must be aligned to 16 bytes. The layout in the memory is as follows: address + 0 + 1 + 2 + 3 R0 R1 R2 R3
Public Attributes
|
union {
|
Float32
v
[4]
|
};
|
|
Friends
|
Vector4f32
|
CastToVector4f32
(const
Vector4i32
&a)
|
Vector4f32
|
ConvertToVector4f32
(const
Vector4i32
&a)
|
Vector4i32
|
CastToVector4i32
(const
Vector4f32
&a)
|
Vector4i32
|
ConvertToVector4i32
(const
Vector4f32
&a)
|
Vector4f32
|
ConvertToVector4f32
(const
Vector2f64
&a, const
Vector2f64
&b)
|
Vector4f32
|
ConvertToVector4f32
(const
Vector2f64
&a)
|
void
|
ConvertToVectors2f64
(const
Vector4f32
&a,
Vector2f64
&result1,
Vector2f64
&result2)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
operator+
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
operator-
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
operator*
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
operator*
(const
Vector4f32
&a, const
Float32
b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
operator/
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
最小
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
最大
(const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend
Vector4f32
|
Clamp
(const
Vector4f32
&x, const
Vector4f32
&a, const
Vector4f32
&b)
|
MAXON_ATTRIBUTE_FORCE_INLINE
friend void
|
Transpose
(
Vector4f32
&a,
Vector4f32
&b,
Vector4f32
&c,
Vector4f32
&d)
|
Member Typedef Documentation
◆
ValueType
构造函数 & 析构函数文档编制
◆
Vector4f32()
[1/4]
Constructs the object. It does not set a default value.
◆
Vector4f32()
[2/4]
Constructs the object and sets all values to f.
-
参数
-
[in]
|
f
|
The value that is assigned to all vector elements.
|
◆
Vector4f32()
[3/4]
Constructs the object and sets all values to f0...f3.
-
参数
-
[in]
|
f0
|
The value that is assigned to vector element 0.
|
[in]
|
f1
|
The value that is assigned to vector element 1.
|
[in]
|
f2
|
The value that is assigned to vector element 2.
|
[in]
|
f3
|
The value that is assigned to vector element 3.
|
◆
Vector4f32()
[4/4]
Constructs a vector from an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is loaded from.
|
[in]
|
aligned
|
Should be set to true, if #p is known to be 16-byte aligned.
|
成员函数文档编制
◆
LoadUnaligned()
[1/2]
Loads a vector from an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is loaded from.
|
◆
LoadUnaligned()
[2/2]
Loads a vector from an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is loaded from.
|
◆
LoadAligned()
[1/2]
Loads a vector from an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is loaded from, must be 16-byte aligned.
|
◆
LoadAligned()
[2/2]
Loads a vector from an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is loaded from, must be 16-byte aligned.
|
◆
StoreUnaligned()
Stores the contents of this vector to an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is to be stored, must be 16-byte aligned.
|
◆
StoreAligned()
Stores the contents of this vector to an address in the memory.
-
参数
-
[in]
|
p
|
The address where the vector is to be stored, must be 16-byte aligned.
|
◆
operator[]()
[1/2]
Gets component i from the vector.
-
参数
-
-
返回
-
Vector element.
◆
operator[]()
[2/2]
Gets component i from the vector.
-
参数
-
-
返回
-
Vector element.
◆
operator+=()
Adds a vector to this.
-
参数
-
[in]
|
a
|
The vector to add.
|
-
返回
-
A reference to this vector.
◆
Blend()
Blends this vector with another one using a mask. For each vector element, the element of this vector is chosen if the mask element is zero, and the element of the B vector is chosen if the mask element has all bits set. If only some of the mask bits are set, the result is undefined.
-
参数
-
[in]
|
b
|
Input vector B.
|
[in]
|
mask
|
Mask vector.
|
-
返回
-
Vector with elements from this or b, depending on mask.
◆
Shuffle()
[1/2]
Shuffles the components of the input vector. Note that the template arguments must be numeric constants.
-
参数
-
-
Template Parameters
-
ma1
|
Decides which element of vector A becomes the new R0.
|
ma2
|
Decides which element of vector A becomes the new R1.
|
ma3
|
Decides which element of vector A becomes the new R2.
|
ma4
|
Decides which element of vector A becomes the new R3.
|
-
返回
-
A vector consisting of R0=A[ma1], R1=A[ma2], R2=A[ma2], R3=A[ma3]
◆
Shuffle()
[2/2]
Shuffles the components of the input vectors. Note that the template arguments must be numeric constants and be 0 to 3.
-
参数
-
[in]
|
a
|
Input vector A.
|
[in]
|
b
|
Input vector B.
|
-
Template Parameters
-
ma1
|
Decides which element of vector A becomes the new R0.
|
ma2
|
Decides which element of vector A becomes the new R1.
|
mb1
|
Decides which element of vector B becomes the new R2.
|
mb2
|
Decides which element of vector B becomes the new R3.
|
-
返回
-
A vector consisting of R0=A[ma1], R1=A[ma2], R2=B[mb1], R3=B[mb2]
Friends And Related Function Documentation
◆
CastToVector4f32
Casts a
Vector4i32
到
Vector4f32
vector.
-
返回
-
A
Vector4f32
vector.
◆
ConvertToVector4f32
[1/3]
Converts a
Vector4i32
到
Vector4f32
vector.
-
返回
-
A
Vector4f32
vector.
◆
CastToVector4i32
Casts a
Vector4f32
到
Vector4i32
vector.
-
返回
-
A
Vector4i32
vector.
◆
ConvertToVector4i32
Converts a
Vector4f32
到
Vector4i32
vector.
-
返回
-
A
Vector4i32
vector.
◆
ConvertToVector4f32
[2/3]
Converts two
Vector2f64
到
Vector4f32
vector.
-
返回
-
A
Vector4f32
vector.
◆
ConvertToVector4f32
[3/3]
Converts one
Vector2f64
到
Vector4f32
vector.
-
返回
-
A
Vector4f32
vector. The two lower values are the converted members from the source vector, the two upper values are zero.
◆
ConvertToVectors2f64